package com.tocici.domain.vo;

import com.tocici.domain.UserBehavior;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 用户行为视图对象 user_behavior
 *
 * @author zeratul
 * @date 2025-03-02
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = UserBehavior.class)
public class UserBehaviorVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long behaviorId;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long userId;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long musicId;

    /**
     * 播放数
     */
    @ExcelProperty(value = "播放数")
    private Integer playCount;

    /**
     * 喜欢;0-喜欢、1-不喜欢
     */
    @ExcelProperty(value = "喜欢;0-喜欢、1-不喜欢", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_normal_disable")
    private Integer isLiked;

    /**
     * 命中分类;是否在用户喜欢的分类里
     */
    @ExcelProperty(value = "命中分类;是否在用户喜欢的分类里", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_normal_disable")
    private Integer inCateCollect;

    /**
     * 分数;结果为播放数*权重+喜欢*权重+命中分类*权重的和
     */
    @ExcelProperty(value = "分数;结果为播放数*权重+喜欢*权重+命中分类*权重的和")
    private double score;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Integer isDeleted;

    private String username;

    private Integer duration;

    private String title;

    private MusicVo music;


}
